把權限講完後,今天來分享 IP,這會關係到你要怎麼規劃自己的主機網路架構~
我們之前的 Web 1、Web 2 要放進東京 Region,之後還有資料庫。但在 AWS 上,主機不是憑空放著,它得放網路裡面
資ㄔ
「網路」為啥藥學?程式跑得起來就好,中間怎麼連過去沒花時間摸還真的不知道背後做了啥事。這篇前半先不急著開 AWS,我們先把你家裡那台分享器在做什麼搞懂
後半你會發現,AWS 只是把那台分享器拆成幾個零件而已~
兩台電腦要互傳資料,得先知道對方在哪~

同一個網路裡,兩台電腦不能用同一個 IP,不然資料不知道要送給誰。上圖兩台就只差最後一格
寫前端的人一定打過 localhost:3000 或 localhost:5173。那個 localhost 就是「我自己這台電腦」的代號,它真正的 IP 是 127.0.0.1,你打 127.0.0.1:3000 一樣會開。冒號後面的 3000 是「這台電腦上的哪個程式」
回到剛才那個坑。你上網其實牽涉兩個 IP 號碼:電腦自己一個,還有你家對外的 IP

家裡的筆電、手機、平板,每一台都從分享器拿到一個號碼,像是192.168.1.23、192.168.1.24 這種,我們會記做內部 IP。點開電腦的 Wi-Fi 設定也同時可以看到
不過整個家對外只有一個 IP號碼。打開 https://checkip.amazonaws.com,他就會顯示你家對外的公有 IP,全家共用這一個。你用手機連上分享器開同一個網頁,印出來也會是同一組
所以外面的人只看得到你家的公有 IP,看不到你的筆電。分享器擋在中間,資料進出都是它幫你轉的
你的筆電送出去的時候,它記下「這筆是筆電送的」,回來的資料就照紀錄送回筆電,不會送到手機
反過來,內部 IP 出了家門也同時沒人可以認得。你如果把 192.168.1.23 告訴朋友,他會覺得你在開玩笑XD,因為他從他家連不到你
講到這裡,你可能會想說:「千萬個家都用 192.168.1.x,不會撞到嗎?」
不會,全世界有個協定,有三段號碼只可以當內部 IP 用,像是:
10.x.x.x(公司內部網路、雲端常用,AWS 文件的例子多半用這段)172.16.x.x 到 172.31.x.x(部分公司內部網路)192.168.x.x(家用分享器)如果 checkip 印出來是一長串夾著冒號的東西,代表你這條線走的是 IPv6。這系列講的 IP 都是四格數字那種,也就是 IPv4
分享器其實做三件事:發內部 IP 給每台裝置、決定資料往哪走、用它那一個公有 IP 當代表
繼續延伸這個主題,假使你的筆電要傳資料給家裡的平板,跟要傳資料給 Google,分享器怎麼知道要往哪送勒?

它靠一張表,這篇叫它路由表(routing table)。表裡只有兩行:目的地開頭是 192.168.1 的,也就是家裡的,直接送到那台;其他所有地方,全部往對外那條線送
聊到這裡你應該很無言,明明是要講 AWS,為啥鋪梗講了那麼多 AWS,原因是在**AWS 上要搞這些事情,就是要把這台分享器拆成零件,一個一個自己建的XD **
回到你家。分享器發號碼給每台裝置不是亂發的,永遠是 192.168.1. 開頭,只有最後一格會變:0 到 255 共 256 個號碼,分享器實際只發 1 到 254。所以你家所有裝置的號碼,可以寫成一行:192.168.1.x
這種「前面一樣、後面隨便填」的一群號碼,網路的人有一種正式寫法,叫 CIDR:192.168.1.0/24。x 的位置填 0,然後在後面加一個斜線和數字
斜線後面的數字,講的是前面有幾格被固定住:/24 是固定前三格,所以只剩最後一格是 x。為什麼三格叫 24 不叫 3?
因為每一格能填 0 到 255,共 256 種,電腦要用 8 個 0 和 1 才寫得下,所以一格算 8。三格就是 24,四格全部就是 32。固定得越多,範圍就越小
下面這張圖用 AWS 那邊會看到的 10.0.0.0 當例子:

圖裡多畫了兩個極端:/32 四格全固定,就是一個 IP;/0 一格都不固定,就是所有 IP。這篇實際只會用到 16 和 24
進 AWS 之後,我們會用一個比喻一路講下去:社區跟房間。整個網路是一個社區,社區裡切出來的一段號碼是一間房,房裡放機器。你家 /24 就是一間房的大小;AWS 社區開得比家裡大很多,用 /16,裡面可以切好幾間房。
對照就會像是這樣子:
| 寫法 | 白話 | 隨便填的格 | 可放幾個號碼 |
|---|---|---|---|
10.0.0.0/16 |
10.0.x.x,整個社區 |
兩格 | 256 × 256 = 65,536 |
10.0.254.0/24 |
10.0.254.x,社區裡的 254 號房 |
一格 | 256,AWS 自己扣 5 個 → 251 |
10.0.254.24 |
254 號房裡的一台機器 | 沒有 | 就這一台 |

來練一下。現在有三台機器,號碼分別是 10.0.0.24、10.0.254.24、10.1.1.24,你能說出每一台在哪個社區、哪間房嗎?先自己想,再看圖:

10.0.0.24:前兩格 10.0 對,是這個社區的;第三格 0,在 0 號房;最後一格 24 是這台機器在房裡的號碼
10.0.254.24:一樣是這個社區,第三格 254,在 254 號房,也是房裡的 24 號機
10.1.1.24:第二格是 1 不是 0,這台根本不在這個社區
明天一進 AWS,我們會介紹一個東西叫做 VPC,也就是 Virtual Private Cloud(中文為「虛擬私有雲
10. 開頭的私有網域。AWS 官方文件建議 VPC 從 RFC 1918(一份大家講好的網路規則)列的那三段私有位址裡挑,範例就是 10.0.0.0/16。而且別跟公司內部網路已經在用的段重疊,不然以後兩邊要接起來會容易衝突/16,房間切 /24。這樣一個社區可以切 256 間房,未來要加主機位置就比較輕鬆。最後小結一下~
| 重點 | 記住這句 |
|---|---|
| IP | 電腦的位址,四格數字;同一個網路裡不能重複 |
| 內部 IP/公有 IP | 家裡每台一個內部 IP,全家共用一個公有 IP;外面只看得到公有的那個,內部 IP 出了門就沒人認得 |
| 分享器 | 發內部 IP、決定往哪走、代表大家出門;決定資訊流往哪走 |
| CIDR | 10.0.x.x 這種一群號碼的正式寫法;斜線後的數字是固定幾格,:/16 整個社區、/24 一間房、第三格是房號;數字越大範圍越小 |
希望這篇讓你第一次看懂自己家的網路,我們下篇見 :D